package com.oss.util;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.URL;

/**
 * 获取模板路径工具类
 * 本地调试,使用的系统中资源目录下templates中的模板文件
 * 服务器上有单独的模板目录 , 方便替换
 */
@Data
@Component
public class TemplatePathUtil {
    @Value("${templateFilePath}")
    String templatePath;

    // 获取操作系统名称 Windows xxx
    String osName = System.getProperty("os.name").toUpperCase();
    // 是否为windows环境 , 非windows或mac系统 视为linux系统
    boolean isWindows = (osName.contains("Windows".toUpperCase()) || osName.toUpperCase().contains("mac".toUpperCase()));

    /**
     * 获取临时目录
     * @return
     */
    public String getTempPath(){
        String tempDir = templatePath +"temp"+File.separator;
        File tempDirFile = new File(tempDir);
        if (!tempDirFile.exists()) {
            tempDirFile.mkdirs();
        }
        return tempDir;
    }
    /**
     * 用户信息 导出数据的模板
     * @return
     */
    public String getUserExportTemplatePath() {
        if (isWindows) {
            URL resource = getClass().getClassLoader().getResource("templates/user/user.xlsx");
            return resource.getPath();
        } else {
            return templatePath +"user/user.xlsx";
        }
    }

    /**
     * 获取学员导出模板
     * @return
     */
    public String getStudentExportTemplatePath() {
        if (isWindows) {
            URL resource = getClass().getClassLoader().getResource("templates/oss/student/studentExport.xlsx");
            return resource.getPath();
        } else {
            return templatePath +"oss/student/studentExport.xlsx";
        }
    }
}